Content distribution is becoming more and more demanding as multimedia data and contents can reach anywhere and anytime. Users are happy with the convenience and flexibility, and they can enjoy entertainment easily and efficiently. On the other hand, content owners are worried about the illegal usage of their property. There is a balance between two sides.
There are a lot of protection techniques for protecting the content, such as data encryption, watermarking, etc. They have been implemented in many content distribution applications. It seems different system employs different kinds of mechanisms and protection techniques to distribute content with protection. All the terminals or content consuming devices in that case are only able to play and consume the content that is provided by the same content provider. They cannot exchange their terminal or device to playback different contents.
In MPEG-n context, a standardisation group has been working on MPEG-2,4,7,21 IPMP (Intellectual Property Management and Protection).
FIG. 7 shows the prior art for the current typical IPMP architecture. In FIG. 7, it is assumed that content in module 1.1 coming into IPMP system is an MPEG-21 protected multimedia In fact, under MPEG-21 “big picture”, the coming content is called Digital Item in MPEG-21 framework. Three units 1.2, 1.3, 1.4 in module 1.1 illustrate IPMP information transferred in content for IPMP system processing. The IPMP Tool List unit 1.2 identifies, and enables selection of the IPMP Tools required to process the content. The IPMP Tool Elementary Stream unit 1.3 identifies the actual tools carried in the content itself. IPMP Information unit 1.4 identifies the information directed to a given IPMP Tool to enable, assist or facilitate its operation.
As for the right part of FIG 7, it shows an IPMP terminal (module 1.5, a device that consumes possibly protected incoming content in compliance with the usage rules) including IPMP Tool Manager (module 1.6, processes IPMP Tool List(s) unit 1.2 and retrieves the IPMP Tools module 1.8, 1.9, 1.10, 1.11 that are specified therein) and Message Router (module 1.7, implements the Terminal-side behavior of the Terminal-Tool interface). The module 1.8 of Missing IPMP Tools (not available in module 1.5) and the module 1.9, 1.10, 1.11 of IPMP Tool (available in module 1.5) denote the tool that perform (one or more) IPMP functions such as authentication, decryption, watermarking, etc.
Such a solution is able to achieve both of the following:                1. Allow the same protected content to be consumed on different vendors' MPEG-n IPMP Terminals. This will be fully enabled.        2. Allow the same content to be protected by different vendors' IPMP Tools. This will be assisted to as large extent as possible.        
To achieve such a wide interoperability, IPMP provides download ability of tools, where tools can be retrieved remotely. IPMP also allows the terminal to choose its own favourite tool according to parametric description. An IPMP terminal can also aggregate several tools together to form a tool set (act as just one tool) according to some parametric aggregation.
An IPMP tool may also optionally carry a tool meta data that specifies information about this tool, for example, whether this tool can run on a particular operating system.
In order to achieve a flexible and interoperable IPMP system structure for MPEG-n and other applications as described above, we should be able to allow the followings.                1. When an IPMP terminal goes to a remote site trying to retrieve a missing IPMP tool in order to playback a certain content, the IPMP terminal should provide the remote site terminal platform specification, so that the remote site can send a tool that can run on this particular IPMP terminal.        2. An IPMP Tool's metadata may optionally include the terminal platform specification that specifies what are the terminals and platforms that the tool can run on.        3. A parametric description to allow terminal to choose a certain IPMP tool that can facilitate the job it is supposed to do.        4. A parametric aggregation to allow several tools to form as one tool set, and appeared as just one tool to the IPMP terminal.        